package com.hanamaki.utils;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

/**
 * @author hanamaki
 * @version 1.0
 * @date 2021/7/5 15:37
 */
public class FileUtil {

    static File file = null;
    static FileInputStream fileInputStream = null;
    static InputStreamReader inputStreamReader = null;
    static BufferedReader bufferedReader = null;
    /**
     * 读取文件中 的数据
     *
     * @param filePath 文件路径 相对路径 绝对路径
     * @return
     */
    public static Object[][] getFileContent(String filePath) {
        Object[][] result = null;
        try {
//        读取文件 1. 哪个地方的文件？
            file = new File(filePath);
//        读取文件
            fileInputStream = new FileInputStream(file);
//        设置字符编码
            inputStreamReader = new InputStreamReader(fileInputStream, "UTf-8");
//            读取文件时 一行 一行 读
            bufferedReader = new BufferedReader(inputStreamReader);
            String split = null;
            /*定义一个 集合 保存每一次 取出的 数据*/
            List<Object[]> data = new ArrayList<>();
            while ((split = bufferedReader.readLine()) != null) {
//                通过 字符串中 , 分割得到 数据
                String[] content = split.split(",");
                data.add(content);
            }

            /*现在结果存放在  集合中 要将 集合中的数据 转存 到二维数组中*/
            result = new Object[data.size()][];
            for (int i = 0; i < data.size(); i++) {
                result[i] = data.get(i);
            }

        } catch (Exception e) {
        } finally {
            try {
                bufferedReader.close();
                inputStreamReader.close();
                fileInputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return result;
    }

}
